#ifndef _image_
#define _image_
 
// include OpenGL
#ifdef __WXMAC__
#include "OpenGL/gl.h"
#else
#include <GL/gl.h>
#endif
 
#include "wx/wx.h"

#include "MuPDFManager.h"
#include "Logger.h"
#include "PDFPage.h"
 
 
class Image
{
    
    private: 
        GLuint* ID;
        GLuint** ID_List;
        MuPDFManager* muPDFManager;
        int page_num;
        
        Logger* logger;
        PDFPage** pdf_pages;
    
    
    
    public:
     
    	/*
    	 * it is preferable to use textures that are a power of two. this loader will automatically
    	 * resize texture to be a power of two, filling the remaining areas with black.
    	 * width/height are the width of the actual loaded image.
    	 * textureWidth/Height are the total width of the texture, including black filling.
    	 * tex_coord_x/y are the texture coord parameter you must give OpenGL when rendering
    	 * to get only the image, without the black filling.
    	 */
    	int width, height;
        int imageWidth, imageHeight, textureWidth, textureHeight;
        float tex_coord_x, tex_coord_y;
        
        GLuint* getID();
        GLuint* getID(int page_num);
        Image();
        Image(char* path);
        ~Image();
        void load(char* path);
        
};
 
 
#endif 
